//
//  YCCommonUtil.h
//  YCBaseModule
//
//  Created by Apple on 2022/11/8.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@interface YCCommonUtil : NSObject

+ (NSString *)getRandomStringWithLength:(NSInteger)len;

+ (NSString *)changeIntToString:(NSInteger)agent;

+ (NSString *)getRequestTimestamp;

+ (NSDictionary *)dictionaryWithJSON:(id)json;

// 判断NSString字符串是否包含emoji表情
+ (BOOL)stringContainsEmoji:(NSString *)string;

// 星期 0,1,2,3 转换成字符串 周日、周一、周二、周三
+ (NSString *)getWeekDayStrWithDays:(NSString *)weekdays;

+ (NSString *)getRateAndUnitStringByRateNumber:(NSNumber *)rate isBit:(BOOL)isBit;

+ (NSString *)getRateStringByRateNumber:(NSNumber *)rate;

+ (NSString *)getRateUnitStringByRateNumber:(NSNumber *)rate isBit:(BOOL)isBit;

// 测试用 2017-10-11
/**
 打印Json,便于JsonModel属性生成
 **/
+ (void)printJsonData:(NSData *)jsonData;

#pragma mark - 上传图片相关
/**
 将image转成NSData，在进行base64加密
 **/
+ (NSString *)getImageDataBase64:(UIImage *)image;

#pragma mark - 银行卡账号形式转换
/**
 正常号转银行卡号 － 增加4位间的空格
 **/
+ (NSString *)normalNumToBankNum:(NSString *)normalNum;

/**
 银行卡号转正常号 － 去除4位间的空格
 **/
+ (NSString *)bankNumToNormalNum:(NSString *)bankNum;

/**
 银行卡号中间部分星号 － 左右4位正常显示
 **/
+ (NSString *)bankNumToSecret:(NSString *)bankNum;

/**
 通过 parentId 筛选 城市或区（县）
 **/
+ (NSArray *)filterAraeFromAreaArray:(NSArray *)areaArray useParentId:(NSInteger)parentId;
/**
 通过 parentNo 筛选 商家分类
 **/
+ (NSArray *)filterClassFromAreaArray:(NSArray *)areaArray useParentNo:(NSString *)parentNo;
/**
 限制只能输入数字输入 (针对 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string)
 **/
+ (BOOL)validateNumber:(NSString*)number;
/**
  压缩图片
 **/
+ (UIImage *)compressImageWith:(UIImage *)image;

/**
  去除 “emoji表情” 的方法
 **/
+ (NSString*)disable_EmojiString:(NSString *)text;

/**
 去除 “非中文” 的方法
 **/
+ (NSString*)disable_Non_CineseString:(NSString *)text;

/**
  判断沙盒文件是否存在
 **/
+ (BOOL)fileExistingWithFileName:(NSString *)fileName;

#pragma mark - 正则只能输入数字和字母
+ (BOOL)checkTeshuZifuNumber:(NSString *)CheJiaNumber;

#pragma mark - 将数字转成货币格式字符串
+ (NSString *)getMoneyStringWithMoneyNumber:(double)money;


#pragma mark - 去除掉首尾的空白字符和换行字符
+ (NSString *)connectedTogetherWithString:(NSString *)string;

/// 主线程
void yc_runOnMainThread(void (^block)(void));

//取图片缩略图
+ (UIImage *)thumbWithImage:(UIImage *)sourceImage;

//压缩图片
+ (UIImage *)zipScaleWithImage:(UIImage *)sourceImage;

+ (BOOL)checkPlateNumber:(NSString *)number;

// 比较两个版本号
+ (NSComparisonResult)compareFirstVersion:(NSString *)first secondVersion:(NSString *)second;

@end

NS_ASSUME_NONNULL_END
